﻿using System;
using Mono.Collections.Generic;

namespace Mono.Cecil
{
	// Token: 0x020000D5 RID: 213
	internal class InterfaceImplementationCollection : Collection<InterfaceImplementation>
	{
		// Token: 0x06000892 RID: 2194 RVA: 0x000052F8 File Offset: 0x000034F8
		internal InterfaceImplementationCollection(TypeDefinition type)
		{
			this.type = type;
		}

		// Token: 0x06000893 RID: 2195 RVA: 0x00005309 File Offset: 0x00003509
		internal InterfaceImplementationCollection(TypeDefinition type, int length) : base(length)
		{
			this.type = type;
		}

		// Token: 0x06000894 RID: 2196 RVA: 0x0000531B File Offset: 0x0000351B
		protected override void OnAdd(InterfaceImplementation item, int index)
		{
			item.type = this.type;
		}

		// Token: 0x06000895 RID: 2197 RVA: 0x0000531B File Offset: 0x0000351B
		protected override void OnInsert(InterfaceImplementation item, int index)
		{
			item.type = this.type;
		}

		// Token: 0x06000896 RID: 2198 RVA: 0x0000531B File Offset: 0x0000351B
		protected override void OnSet(InterfaceImplementation item, int index)
		{
			item.type = this.type;
		}

		// Token: 0x06000897 RID: 2199 RVA: 0x0000532A File Offset: 0x0000352A
		protected override void OnRemove(InterfaceImplementation item, int index)
		{
			item.type = null;
		}

		// Token: 0x04000340 RID: 832
		private readonly TypeDefinition type;
	}
}
